//
//  YSSecurities.h
//  GuBoShi
//
//  Created by zhanglu on 2017/3/21.
//  Copyright © 2017年 YiShi. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <Mantle/Mantle.h>
#import "YSSecuritiesDefine.h"


@interface YSSecurities : MTLModel<MTLJSONSerializing>

// 内码
@property(nonatomic, strong) NSNumber *Id;

@property(nonatomic, copy) NSString *IdStr;

/*!
 * 市场代码
 */
@property(nonatomic, copy) NSString *market;
/*!
 * 合约代码
 */
@property(nonatomic, copy) NSString *number;


// 合约名称
@property(nonatomic, copy) NSString *name;

@property(nonatomic, copy) NSString *namePinYin;

/*!
 * (int) 保留几位小数
 */
@property(nonatomic, strong) NSNumber *minuteSpan;

/*!
 * 档位 ： 五档、零档
 */
//@property(nonatomic, assign) YSSecuritiesStalls stall;
@property(nonatomic, strong) NSNumber *stall;


/*!
 * 有价证券类型：股票、期货、基金
 */
//@property(nonatomic, assign) YSSecuritiesType type;
@property(nonatomic, copy) NSString *type;

/*! 
 * 状态 ： 停牌、上市、退市
 */
//@property(nonatomic, assign) YSSecuritiesStatus status;
@property(nonatomic, strong) NSNumber *status;

@property(nonatomic, assign) YSSecuritiesSubcribeType isSubscribe; // 是否订阅

@property(nonatomic, copy) NSString * isAdded;//搜索到的内容是否添加，默认是0 ，添加后为1



/**
 * 详情部分
 */


@property(nonatomic, strong) NSNumber * BaPri; // 基准价double
@property(nonatomic, strong) NSNumber * CliOrdAmt; // 客户订单量//TODO
@property(nonatomic, copy) NSString * DeliDate; // 交割日期 例如"20170531"
@property(nonatomic, copy) NSString * DeliMode; // 交割方式 //TODO
@property(nonatomic, copy) NSString * DeliUnit; // 交割单位 如克、枚、元等。
@property(nonatomic, copy) NSString * StaDelDate; // 开始提货时间 例如"20170209"
@property(nonatomic, copy) NSString * Descri; // 商品详细描述
@property(nonatomic, strong) NSNumber * UpLim; // 涨幅上限double
@property(nonatomic, strong) NSNumber * DoLim; // 跌幅上限double
@property(nonatomic, copy) NSString * EnTrDa; // 最后交易日 例如"20170525"
@property(nonatomic, copy) NSString * IsTrad; // 是否可交易 "0"为可交易，其余的为不可交易
@property(nonatomic, strong) NSNumber * LaunAmt; // 发行数量//TODO
@property(nonatomic, copy) NSString * LaunEnDat; // 发行结束日期 例如"20170429"
@property(nonatomic, copy) NSString * LaunMenId; // 发行会员代码
@property(nonatomic, strong) NSNumber * LaunPri; // 发行价(单位:元)
@property(nonatomic, copy) NSString * LaunStarDat; // 发行开始日期 例如"20170131"
@property(nonatomic, strong) NSNumber * MaxOrAmt; // 单笔最大委托量//TODO (单位:手) 配合ProUnit、QtyUnit字段使用。
@property(nonatomic, strong) NSNumber * MaxPurAmt; // 最大申购数量//TODO （单位:手）配合ProUnit、QtyUnit字段使用。
@property(nonatomic, strong) NSNumber * MinChangeAmt; // 最小申购变动量//TODO (单位:手)配合ProUnit、QtyUnit字段使用。
@property(nonatomic, strong) NSNumber * MinChgAmt; // 最小变动数量//TODO (单位:手)配合ProUnit、QtyUnit字段使用。
@property(nonatomic, strong) NSNumber * MinPurAmt; // 最小申购数量//TODO (单位:手)配合ProUnit、QtyUnit字段使用。
@property(nonatomic, copy) NSString * OpDate;  // 上市日 例如"20170115"
@property(nonatomic, copy) NSString * ProId; // 品种代码 例如"YIN"
@property(nonatomic, copy) NSString * instrumentId; // 品种代码 例如"YIN"
@property(nonatomic, copy) NSString * Inst; // 合约代码 例如"AG100g"
@property(nonatomic, copy) NSString * TraCurrency; // 交易币种
@property(nonatomic, copy) NSString * ProTp; // 产品类别 例如"4"
@property(nonatomic, copy) NSString * ProNm; // 品种名称 例如"银"
@property(nonatomic, strong) NSString * ProUnit; // 报价单位（品种单位）例如克、枚、张等。
@property(nonatomic, copy) NSString * QtyUnit; // 报价数量单位 例如100 一般配合报价单位(ProUnit)使用。比如一手100克。
@property(nonatomic, strong) NSNumber * StrPri; // 执行价（单位:元）
@property(nonatomic, strong) NSNumber * SubAmt; // 认购数量（单位:手）
@property(nonatomic, copy) NSString * SubEndDate; // 认购结束日期 例如"20170126"
@property(nonatomic, copy) NSString * SubRate; // 认购比例
@property(nonatomic, copy) NSString * SubStaDate; // 认购开始日期 例如"20170118"
@property(nonatomic, strong) NSNumber * TPlusN; // T+N交易天数
@property(nonatomic, strong) NSNumber * Tick; // 最小变动价位 （单位：元）
@property(nonatomic, copy) NSString * TruToPoDa; // 托管转持仓日期
@property(nonatomic, strong) NSNumber * VolMul; // 合约乘数
@property(nonatomic, strong) NSNumber * RefPri; // 挂牌价(单位：元)
@property(nonatomic, strong) NSNumber * QuoFee; // 挂牌费(单位:元)
@property(nonatomic, strong) NSNumber * EvaFee; // 鉴定费率
@property(nonatomic, copy) NSString * DraChan; // 提货手续费(单位:元)

@property(nonatomic, copy) NSString *TraTimes;/** 交易时段 */
@property(nonatomic, copy) NSString *TraTimeTs;/** 交易时间段( 与交易日关联，精确到time_t) */
@property(nonatomic, strong) NSNumber *Decm;/** 产品精度int 小数点后位数 */
//@property(nonatomic, strong) NSNumber *UpPri;/** 涨停价 */
//@property(nonatomic, strong) NSNumber *DoPri;/** 跌停价 */
//@property(nonatomic, strong) NSNumber *PreSetPri;/** 昨结算价 */


/**----------------------------------------------------------------------------------------------**/

//五档买价
@property (nonatomic, strong) NSArray * BP;
//五档卖价
@property (nonatomic, strong) NSArray * SP;
//五档买量
@property (nonatomic, strong) NSArray * BV;
//五档卖量
@property (nonatomic, strong) NSArray * SV;
//明细：最近20笔成交明细
@property (nonatomic, strong) NSArray * Detai;

/** 交易日 */
@property (nonatomic, strong) NSString * TraDate;

/** 快照更新时间 */
@property (nonatomic, strong) NSNumber * UpdTm;

/** 交易状态 */
@property (nonatomic, strong) NSString * SPT;

/** 成交量 */
@property (nonatomic, strong) NSNumber *TotalTradeVolume;

/** 成交额 */
@property (nonatomic, strong) NSNumber *TotalTradeAmount;

/** 流通量 */
@property(nonatomic, strong) NSNumber *CirAmt;

/** 总量 */
@property(nonatomic, strong) NSNumber *TotAmt;

/** 内盘成交量 */
@property(nonatomic, strong) NSNumber *S;

/** 外盘成交量 */
@property(nonatomic, strong) NSNumber *B;

/** 涨停价 */
@property(nonatomic, strong) NSNumber *ULP;

/** 跌停价 */
@property(nonatomic, strong) NSNumber *LLP;

/** 最高 */
@property (nonatomic, strong) NSNumber *HighPx;

/** 最低 */
@property(nonatomic, strong) NSNumber *LowPx;

/** 最新价 */
@property(nonatomic, strong) NSNumber *LatestPx;

/** 昨收 */
@property(nonatomic, strong) NSNumber *PrevClosePx;

/** 开盘 */
@property(nonatomic, strong) NSNumber *OpenPx;

/** 振幅 */
@property(nonatomic, strong) NSNumber *AmplitudePx;

/** 市场率 */
@property(nonatomic, strong) NSNumber *PE;

///** 涨跌 */
//@property(nonatomic, strong) NSNumber *UpDropPx;

/** 涨幅 */
@property(nonatomic, strong) NSNumber *PercentPx;

/** 流通市值 */
@property(nonatomic, strong) NSNumber *CirVal;//MarketeCapPx;

/** 总市值 */
@property(nonatomic, strong) NSNumber *TotVal;//TotalCapPx;

/** 量比 */
@property(nonatomic, strong) NSNumber *VolumeRatioPx;

/** 买一 */
@property(nonatomic, strong) NSNumber *AskPx1;

/** 买二 */
@property(nonatomic, strong) NSNumber *AskPx2;

/** 买三 */
@property(nonatomic, strong) NSNumber *AskPx3;

/** 买四 */
@property(nonatomic, strong) NSNumber *AskPx4;

/** 买五 */
@property(nonatomic, strong) NSNumber *AskPx5;

/** 买一量 */
@property(nonatomic, strong) NSNumber *AskVolume1;

/** 买二量 */
@property(nonatomic, strong) NSNumber *AskVolume2;

/** 买三量 */
@property(nonatomic, strong) NSNumber *AskVolume3;

/** 买四量 */
@property(nonatomic, strong) NSNumber *AskVolume4;

/** 买五量 */
@property(nonatomic, strong) NSNumber *AskVolume5;

/** 卖一 */
@property(nonatomic, strong) NSNumber *BidPx1;

/** 卖二 */
@property(nonatomic, strong) NSNumber *BidPx2;

/** 卖三 */
@property(nonatomic, strong) NSNumber *BidPx3;

/** 卖四 */
@property(nonatomic, strong) NSNumber *BidPx4;

/** 卖五*/
@property(nonatomic, strong) NSNumber *BidPx5;

/** 卖一量 */
@property(nonatomic, strong) NSNumber *BidVolume1;

/** 卖二量 */
@property(nonatomic, strong) NSNumber *BidVolume2;

/** 卖三量 */
@property(nonatomic, strong) NSNumber *BidVolume3;

/** 卖四量 */
@property(nonatomic, strong) NSNumber *BidVolume4;

/** 卖五量 */
@property(nonatomic, strong) NSNumber *BidVolume5;



/*!
 * (double) 昨结
 */
@property(nonatomic, strong) NSNumber *PreSePri;


/*!
 * (double) 换手率
 */
@property(nonatomic, strong) NSNumber *TuovRate;

/*!
 * (int) 持仓量
 */
@property(nonatomic, strong) NSNumber *OpenInt;

/*!
 * (double) 今虚实度
 */
@property(nonatomic, strong) NSNumber *CurrDelta;

/*!
 * 昨虚实度
 */
@property(nonatomic, strong) NSNumber *PreDelta;

///** 涨停板价 */
//@property(nonatomic, strong) NSNumber *UpLiPrice;
//
///** 跌停板价 */
//@property(nonatomic, strong) NSNumber *LoLiPrice;

/** 昨收价 */
@property(nonatomic, strong) NSNumber *PreClPri;

/** 今收价 */
@property(nonatomic, strong) NSNumber *ClPri;




/** 是否有效 */
- (BOOL)isValidID;

/** 根据字典生成一个新的Securities */
+ (YSSecurities *)quoteWithDictionary: (NSDictionary *)dictionary;

/** 更新当前值变化 */
- (void)updateWithQuote: (YSSecurities *)quote;
/** 均价 */
@property(nonatomic, strong) NSNumber *AvgPx;

/** 开市时间 */
@property (nonatomic, copy) NSString *openTime;

/** 休市时间 */
@property (nonatomic, copy) NSString *endTime;

/** 交易时间 */
@property (nonatomic, copy) NSString *restTime;

@property (nonatomic, assign) BOOL hasVolume;

/** 当日可平仓量 */
@property(nonatomic, strong) NSNumber *availablePosition;

- (NSDictionary *)jsonValue;
@end
